//
// Created by Administrator on 2021/11/14.
//
#define MaxVertexNum 100//顶点数目的最大值
typedef char VertexType;//顶点的数据类型
typedef int InfoType;//带权图中边上权值的数据类型

/*"边/弧"*/
typedef struct ArcNode {
    int adivex;//边/弧指向哪个结点
    struct ArcNode *next;//指向下一条弧的指针
    InfoType info;//边权值
} ArcNode;

/*顶点"*/
typedef struct VNode {
    VertexType data;//顶点信息
    ArcNode *first;//第一条边/弧
} VNode, AdjList[MaxVertexNum];

/*用邻接表存储的图*/
typedef struct {
    AdjList vertices;
    int vexnum, arcnum;
} ALGraph;

/*结构体定义顺序：
 * 图包含结点，结点包含边
 * 所以，先定义边，在定义结点，最后定义图*/